
/**
 *  \file avdtp_extern.h
 *
 *  This header file contains declarations of all global variables
 *  used in the AVDTP module. This file will be included by all the
 *  source files except the avdtp_init.c file.
 */

/*
 *  Copyright (C) 2013. Mindtree Ltd.
 *  All rights reserved.
 */

#ifndef _H_AVDTP_EXTERN_
#define _H_AVDTP_EXTERN_

/* ----------------------------------------- External Global Variables */

/* Global Mutex for the AVDTP module */
BT_DEFINE_MUTEX_TYPE (extern, avdtp_mutex)

/*
 *  Table of AVDTP User Contexts to hold outstanding (not yet acknowledged)
 *  commands and user allocated buffers to copy result of the operation.
 */
extern AVDTP_CONTEXT avdtp_contexts [];

/*
 *  Table of AVDTP Signalling Entities. There is one signalling
 *  channel between a pair of AVDTP entities.
 */
extern AVDTP_SIGCH avdtp_sigchs [];

/* Table of Stream End Point Capabilities for registered SEPs. */
extern AVDTP_SEP_CAP avdtp_seps [];

/* Table of active AVDTP Stream Contexts. */
extern AVDTP_STREAM avdtp_streams [];

/*
 *  Table of AVDTP LCID Entities - used for AVDTP Signalling and
 *  Transport channels.
 */
extern AVDTP_LCID avdtp_lcids [];

#ifdef AVDTP_HAVE_MULTIPLEXING

/*
 *  Table of AVDTP Transport Sessions allocated to hold mapping of Transport
 *  Channel and Transport Session for multiplexing service.
 */
extern AVDTP_TS avdtp_tsids [];

#endif /* AVDTP_HAVE_MULTIPLEXING */

/*
 *  Array of function pointers for hold incoming Signalling
 *  Message handlers.
 */
extern const AVDTP_SIG_HANDLER avdtp_command_handler [];

/** AVDTP Application Event Indication Callback */
extern AVDTP_EVENT_NTF_CB avdtp_event_ind_cb;

#ifdef HAVE_AVDTP_TEST_MODE
extern AVDTP_SIG_MSG_REJECT_RSP_PARAMS     avdtp_sig_msg_reject_rsp_params;
#endif /* HAVE_AVDTP_TEST_MODE */

#endif /* _H_AVDTP_EXTERN_ */


